2021-05-28 Omar Polo

	* src/os-utils.lisp,
	* src/software-configuration.lisp:

	- looking for values of environment variables EDITOR and VISUAL if
	the user did  not specified an editor in the  config file. If both
	variables are empty use "ed".

2021-05-23  cage

        * etc/init.lisp:

	- [gemini] reverted tour mode keys to old ones "t t" -> "t"

	there is usually  no needs for explicitly open a  TOC gemini window
	as it is opened automatically when the gemini stream is completed.

2021-05-22  cage, Omar Polo

	* AUTHORS,
	* po/it.po,
	* po/tinmop.pot,
	* po/tinmop.pot,
	* src/api-client.lisp,
	* src/db.lisp,
	* src/main-window.lisp,
	* src/package.lisp,
	* src/program-events.lisp,
	* src/thread-window.lisp,
        * etc/default-theme.conf,
        * src/notify-window.lisp,
        * src/package.lisp,
        * src/software-configuration.lisp,
        * src/thread-window.lisp:

	- made geometry of notification window customizable (via
        configuration file).
         - made some stylistic changes to client's (pleroma) authorization
        procedures.
        - added AUTHORS file.
	- [pleroma client authentication] (Omar Polo)
	  - don't unnecessarily bind *output-stream* (o.p.)
          - reply to the HTTP client before closing the
            connection
          - always close the client socket
	-updated Italian translation (cage, Omar Polo)
        - added mentions rendering in the thread window modeline.
	- decrease mentions count on the modeline when a status that
        contains a mention is opened.

2021-05-18  cage

        * src/gemini-viewer.lisp:

	- [gemini] ensured cached text file are opened with tinmop or user
        defined programs.
	- [gemini] refresh TOC when rendering a cached gemini file.

2021-05-17  cage

	* src/gemini-page-toc.lisp,
	* src/program-events.lisp:
        * src/open-message-link-window.lisp:
        * src/gemini-viewer.lisp,
	* src/open-message-link-window.lisp,
        * src/program-events.lisp:

	- [gemini] prevented moving focus to message window when opening a
        link.
        - [gemini] recycled TOC window between gemini pages.
	- [gemini] fixed regression opening gemini link is possible again;
	- prevented hiding of notifications by the gemini TOC window.

2021-05-16  cage

	* etc/init.lisp,
	* src/gemini-page-toc.lisp,
	* src/gemini-page-toc.lisp,
	* src/gemini-viewer.lisp,
	* src/gemini/gemini-parser.lisp,
	* src/gemini/gemini-parser.lisp,
	* src/keybindings.lisp,
	* src/line-oriented-window.lisp,
	* src/message-window.lisp,
	* src/message-window.lisp,
	* src/open-message-link-window.lisp,
	* src/package.lisp,
	* src/program-events.lisp,
	* src/software-configuration.lisp,
	* src/ui-goodies.lisp,
	* src/ui-goodies.lisp,
	* tinmop.asd,
        * etc/default-theme.conf,
        * src/gemini-viewer.lisp,
        * src/gemini-viewer.lisp,
        * src/gemini-viewer.lisp,
        * src/gemini/package.lisp,
        * src/gemini/package.lisp,
        * src/main-window.lisp,
        * src/program-events.lisp,
        * src/program-events.lisp,
        * src/specials.lisp:

	- added a generated TOC for gemini files.
	- [gemini] fixed regression opening gemini link is possible again;
	- prevented hiding of notifications by the gemini TOC window.
        - [gemini] removed removing of text from TOC entry.
	- [gemini] fixed row moving in TOC window.
	- [gemini] ensured TOC is rendered only for rendering stream.
	- [gemini]  fixed  parser,  made  many  parser  state  variables
        from function local to thread local;
	- fixed 'line-oriented-widget:append-new-rows';  uses slots  instead
        of accessors  as, for  example, message  window skips  invisible
        lines when specialized (on message-window) method 'rows' is called.

2021-05-15  cage

        * src/program-events.lisp:

	- prevented rendering gemini files in the message window when a toot
        is shown.

2021-05-14  cage

        * src/gemini/client.lisp,
	* src/gemini/subscription.lisp:

	- [gemini] fixed parsing of gemlog pages. Subtitle was never
        recognized even if actually present.

2021-05-13  cage

        * modules/rewrite-message-urls.lisp,
	* src/line-oriented-window.lisp,
        * src/message-window.lisp,
	* src/misc-utils.lisp,
        * src/open-message-link-window.lisp,
	* src/package.lisp,
        * src/program-events.lisp,
	* src/ui-goodies.lisp:

	- got rid of 'prepare-new-search' and 'cleanup-after-search';
	- fixed misc:safe-subseq (subseq sequence -1)' does not signals an
        error anymore.

2021-05-09  cage

        * etc/shared.conf,
	* src/gemini/gemini-parser.lisp:

	- [gemini] fixed parsing of quoted lines, an empty line can be part
        of the quote.

2021-05-09  cage

        * src/main.lisp,
	* src/os-utils.lisp:
	- wrapped sb-ext:run-program;
	- do not load configuration files if cli options '-h' or '-v' are
        used.


2021-05-06  cage

        * src/program-events.lisp:

	- performed a cleanup of searching even if the search string is
        empty or is not a valid regular expression.

2021-05-06  cage

        * src/package.lisp,
	* src/program-events.lisp:

	- [gemini] expand tilde when trying to open a local file or
        directory.

2021-05-04  cage

	* src/tour-mode-parser.lisp,
	* src/ui-goodies.lisp,
        * src/package.lisp,
        * tinmop.asd:

	- [gemini] improved tour-mode  the command accepts space separated
	list of link index or link ranges (e.g: "5-7 1 2").

2021-05-02  cage

	* README.org,
	* README.txt,
	* etc/init.lisp,
	* po/it.po,
	* po/tinmop.pot,
	* src/message-window.lisp,
	* src/ui-goodies.lisp,
        * src/line-oriented-window.lisp,
        * src/package.lisp:

	- prevented out of bound condition when scrolling message-window's
	contents.  When user  switched from a page to  another shorter the
	scrolling position  was not restored, pointing  outside the actual
	text line counts.  This prevent the correct rendering  of the page
	(a  blank  page  is  shown  instead) and  crash  the  software  if
	scrolling up.  Thanks op!
        - [gemini] fixed order of links when showing tour-mode's queue
        (thanks op!).
        - [gemini] changed gemini search site.
        - updated italian translation.
        - improved docstring for tour-mode.
        - [gemini] improved tour-mode, allow collect links by regex not only
        by indices.

2021-05-01  cage

	* src/open-message-link-window.lisp,
	* src/package.lisp,
	* src/ui-goodies.lisp,
        * etc/init.lisp,
        * etc/init.lisp,
        * src/package.lisp,
        * src/ui-goodies.lisp:

	- added a command to show the tour's queue.
	- removed hardcoded list of windows that loose focus when focus is
        changed.

	- added tour mode to explore geminispace.

2021-04-28  cage

	* doc/man.org,
	* doc/tinmop.man,
	* src/filesystem-utils.lisp,
	* src/gemini-viewer.lisp,
	* src/open-attach-window.lisp,
	* src/package.lisp,
	* src/program-events.lisp,
	* src/stack.lisp,
	* src/ui-goodies.lisp,
	* src/windows.lisp,
        * etc/init.lisp,
        * src/gemini-viewer-metadata.lisp,
        * src/package.lisp:

	-[gemini] removed loop when going back in history.  when follownig
	a redirect both the original (the redirect) and the actual URI was
	saved in the  history.  So if an user, after  followed a redirect,
	tried to go  back would reach the same redirect,  this generated a
	loop;

         - updating documentation (mentioning navigation keys);

        - implemented a new method to move focus between windows (using
        'M-arrowkeys').

2021-04-27  cage

	* src/filesystem-utils.lisp,
	* src/open-attach-window.lisp:

	- fixed procedures that extract extension from a local path or an
        URI.

2021-04-26  cage

        * src/gemini/gemini-parser.lisp:

	- fixed 'make-gemini-iri', was crashing the program when 'port'
        argument was null.

2021-04-25  cage

	* Makefile.am,
	* Makefile.in,
	* po/POTFILES.in,
	* po/it.po,
	* po/tinmop.pot,
	* src/program-events.lisp,
	* src/text-utils.lisp:

	- updated italian translation.

         - fixed text-utils:percent-encoded-p, an empty string is not
        percent-encoded;

	- raised a better error when an empty string is entered as a gemini
        address;

         - instructed Makefile to recompile the package if a source is
        modified;

	- updated italian translation.

2021-04-24  cage

        * src/gemini/gemini-parser.lisp:

	- [gemini] omitted default port when building URI.

2021-04-23  cage

        * src/filesystem-utils.lisp:

	- used 'mkstemps' intead of 'mkstemp'  as the latter does not
          supports suffix and the temporary keeps the same names.

2021-04-21  cage

        * modules/rewrite-message-urls.lisp,
	* src/message-window.lisp,
        * src/package.lisp:

	- optimized module 'rewrite-message-urls.lisp'.
	- fixed end position for 'visible-rows'

2021-04-20  cage

        * src/message-window.lisp:

	- fixed  rendering of  text: all  text is  now rearranged  to fit
          the window.

2021-04-16  cage

	* src/gemini/gemini-parser.lisp,
	* src/iri-parser.lisp,
	* src/package.lisp,
	* src/tests/iri-tests.lisp,
	* src/text-utils.lisp,
        * src/gemini/client.lisp:

	- quote meta characters when matching for RE, searching for a common
        prefix from a bag of strings.
	- [gemini] allowed to connect to host using IP address instead of
        hostname;
	- fixed 'make-gemini-iri', was building wrong IRI with IP6 address
        as host;
	- trimmed square brackets from IP literal when parsing an IRI;
	- [gemini] prevented trimming of preformatted gemtext line.

2021-04-13 cage

	* src/gemini/gemini-parser.lisp,
	* src/gemini/package.lisp,
	* src/message-window.lisp,
	* src/package.lisp,
	* src/tui-utils.lisp,
        * LICENSES.org,
        * src/follow-requests.lisp,
        * src/text-utils.lisp,

	- added 'remove-corrupting-utf8-chars' to clean up rendered text
        from trouble characters.
        -[gemtext] added metadata for list, header lines and link lines;
        - fixed processing of follow requests.

2021-04-11  cage

	* modules/rewrite-message-urls.lisp,
	* src/line-oriented-window.lisp,
	* src/message-window.lisp,
	* src/package.lisp,
	* src/ui-goodies.lisp,
        * etc/init.lisp,
        * src/gemini/gemini-parser.lisp,
        * src/message-window.lisp:

	- [gemini] added feature to toggle preformatted block on/off;
	- [gemini] trimmed alt-text; - reworded some functions;
        - specialized message-window' to skip invisible rows.

2021-04-10  cage

	* modules/rewrite-message-urls.lisp,
	* src/gemini-viewer.lisp,
	* src/gemini/package.lisp,
	* src/line-oriented-window.lisp,
	* src/open-attach-window.lisp,
	* src/package.lisp,
	* src/program-events.lisp,
	* src/software-configuration.lisp,
	* src/thread-window.lisp,
	* src/tui-utils.lisp,
        * modules/rewrite-message-urls.lisp,
        * src/gemini-viewer.lisp,
        * src/gemini/gemini-parser.lisp,
        * src/hooks.lisp,
        * src/main.lisp,
        * src/message-window.lisp,
        * src/text-utils.lisp,
        * src/ui-goodies.lisp:


	- exit from the program,  without launching the debugger, when the
	configuration module was not found  but notify a warning, instead,
	if the module was not essential (like when loaded from the command
	line using switch "-M");
	- load a module even if loading an URL has been requested from the
        command line;
	- [gemini] ensured tail call when downloading a non-text file;
        - fixed RE in 'open-attach-window:get-extension';
	- fixed bug that prevented to open an attachment from cached file.
	- rewritten rendering of text in  message window i got rid of slot
	support-text in message-window, so that  class does not maintain a
	state.
	- changed behaviour of  split-line (split-line (format nil "~2%"))
	; => ("" "") That is an empty line is returned as empty string and
	not skipped Thanks to people  from IRC and cl-ppcre maintainer for
	help!
	- [breaking changes] changed 'hooks:*before-prepare-for-rendering-message* with
        'hooks:*before-rendering-message-text*.

021-04-08  cage

	* src/conversations-window.lisp,
	* src/gemini-subscription-window.lisp,
	* src/gemini-viewer.lisp,
	* src/gemini/package.lisp,
	* src/message-rendering-utils.lisp,
	* src/open-attach-window.lisp,
	* src/package.lisp,
	* src/sending-message.lisp,
	* src/thread-window.lisp,
	* src/ui-goodies.lisp,
        * src/chats-list-window.lisp,
        * src/follow-requests.lisp,
        * src/gemini-client-certificates-window.lisp,
        * src/gemini/gemini-parser.lisp,
        * src/line-oriented-window.lisp,
        * src/message-window.lisp,
        * src/open-message-link-window.lisp,
        * src/program-events.lisp,
        * src/tags-window.lisp,

	- [gemini] tag preformatted text lines with metadata (group-id and
        alt text).
	- discouraged use of slot 'rows' for 'row-oriented-widget', used API
        instead.

2021-04-07  cage

        * src/program-events.lisp:

	- [gemini] removed unused arg from 'refresh-gemini-message-window'.

2021-04-06  cage

        * src/line-oriented-window.lisp,
	* src/message-window.lisp,
        * src/open-message-link-window.lisp,
	* src/package.lisp,
        * src/program-events.lisp,
	* src/ui-goodies.lisp:

	- fixed searching in links or gemini pages: searching starts from
        the first row.

        - fixed search  in message window.  If more than  one occurrence of
	the matched string was present (in the same line) drawing the last
	will overwrite the others.

2021-04-05  cage

        * etc/default-theme.conf,
        * modules/rewrite-message-urls.lisp,
	* src/gemini/client.lisp,
	* src/gemini/gemini-parser.lisp,
        * src/gemini/gemini-parser.lisp,
	* src/gemini/package.lisp,
	* src/gemini-viewer.lisp,
        * src/line-oriented-window.lisp,
	* src/message-window.lisp,
        * src/message-window.lisp,
        * src/misc-utils.lisp,
	* src/package.lisp,
	* src/program-events.lisp,
        * src/program-events.lisp,
        * src/software-configuration.lisp,
        * src/thread-window.lisp,
	* src/tui-utils.lisp,
	* src/ui-goodies.lisp:

	- fixed search in message-window;

	- there  was a lot  of problems related to  type of an  element of
	'rows', they must be always a  complex string - moreover there was
	an  incorrect positioning  of the  matching string  when character
	with column width >1 was present before the string compatible with
	the regex;

	- changed 'source-text' to 'support-text'.

        - removed debug message.

        - fixed and simplified 'refresh-gemini-message-window', was always appending
        contents.

	- [gemini] fixed gemini text parser.

	- [gemini] fixed rendering of quoted lines;

	- [gemini] do not set, always append, source text when refreshing a
        gemini window.

	- [gemini] started coloring preformatted block.

2021-04-03  cage

	* src/complete.lisp,
        * src/gemini/client.lisp,
	* src/gemini/gemini-parser.lisp,
	* src/gemini-viewer.lisp,
        * src/main.lisp,
	* src/message-window.lisp,
	* src/open-message-link-window.lisp,
	* src/package.lisp,
	* src/program-events.lisp,
        * src/program-events.lisp,
	* src/ui-goodies.lisp:

	- [gemini] improved rendering of quoted text.

	- [gemini] percent encoded paths when exploring local file systems.

	- fixed crash when 'contains-clsr'  is called This function called
	cl-ppcre:create-scanner but  if the argument to  this function can
	not  be interpreted  as  a  valid regex  (e.g  "["),  an error  was
	signalled.

	-  [gemini] fixed  bug that  prevented a  page to  be reloaded;  -
	[gemini] use cache, if possible, when opening a gemini url.

2021-04-01  cage

        * src/filesystem-utils.lisp,
	* src/iri-parser.lisp,
        * src/tests/iri-tests.lisp,
	* src/tests/uri-tests.lisp,
        * src/uri-parser.lisp:
        * etc/shared.conf,
	* src/filesystem-utils.lisp,
        * src/gemini-viewer.lisp,
	* src/gemini/client.lisp,
        * src/gemini/gemini-parser.lisp,
	* src/gemini/package.lisp:

	- fixed, again fs:dirp;
	- fixed iri parser (parses correctly IRI like mailto:...).
	- moved to an internal wrapping of 'mkstemp' to allow extensions in
        filename;
	- [gemini] rendering all stream with MIME type "text/*" with this
        program.

2021-03-28 cage

	* etc/default-theme.conf:
	* src/filesystem-utils.lisp,
	* src/open-message-link-window.lisp,
	* src/os-utils.lisp,
	* src/package.lisp,
	* src/program-events.lisp,
	* src/program-events.lisp,
	* src/tests/uri-tests.lisp,
        * etc/shared.conf,
        * src/open-attach-window.lisp,
        * src/software-configuration.lisp,
        * src/uri-parser.lisp,

	- [gemini] allowed  exploring  directory using  relative path;
	- [gemini] allowed opening a file using tinmop itself
          (example: opening a gemini text file);
	- added a  more hi-level function to open a  file with an external
	  program.
	   - this  function takes  into account the  file that  should be
	     opened with tinmop and uses 'xdg-open' as fallback if the user did
	     not specified an association program file-type.
        - fixed 'uri:normalize-path';
	- [gemini] cleaned paths when exploring local tree;
	- changed link color when printed in link windows;
        - cleaned a bit reults of 'prepend-pwd'.

2021-03-27

	* src/filesystem-utils.lisp,
	* src/gemini/client.lisp,
	* src/gemini/package.lisp,
	* src/iri-parser.lisp,
	* src/main.lisp,
	* src/open-message-link-window.lisp,
	* src/package.lisp,
	* src/package.lisp,
	* src/uri-parser.lisp,
        * src/gemini-viewer.lisp,
        * src/gemini-viewer.lisp,
        * src/gemini/gemini-parser.lisp,
        * src/html-utils.lisp,
        * src/open-message-link-window.lisp,
        * src/program-events.lisp,
        * src/ui-goodies.lisp:

	- [gemini] added feature: loading local gemini folders or files from command
        line (switch: '-o') or using TUI;
	- used 'load-gemini-url', when possible, to avoid duplication.

2021-03-14  cage

        * src/api-pleroma.lisp,
	* src/main.lisp:

	- fixed chat API;
	- fixed regression, loading scripts works again.

2021-03-13  cage

        * src/api-pleroma.lisp:
	* src/db.lisp:

	- used version 2 for get chats;
	- changed the way a message is deleted: when deleting a reblogging
	message  delete the  reblogged  message as  well.   This way  quit
	should be faster as the  folder ".reblogged" can not grows without
	limit anymore;
	- made explicit the folder for parent (reblogged) messages;
	- fixed docstring.

2021-03-09  cage

	* README.txt,
	* configure,
	* etc/init.lisp,
	* po/it.po,
	* po/tinmop.pot,
	* src/gemini-viewer.lisp,
	* src/message-window.lisp,
	* src/program-events.lisp,
	* src/software-configuration.lisp,
        * NEWS.org,
        * README.org,
        * src/package.lisp:

	- fixed typos in NEWS.org;
	- reverted  method of  rendering of  text in  message window  to a
	line-based one.  The  old method that packed text  got from Gemini
	stream in single event was ugly  and blocked the UI.  This version
	revert to  a line by line  rendering but it is  optimized and does
	not gets slow with the size of the text the window holds;
	- added command for sending to pipe contents of message windows;
	- made  nicer the error message  when a directive is  missing from
	configuration file;
	-  updated README  (new  installation  instruction and  mentioning
	openssl);
	-  updated translations  files; -  updated configure  (new version
	number).

2021-03-03  cage

	* configure.ac,
	* tinmop.asd,
        * NEWS.org:

	- updated version number and NEWS file.

2021-02-27  cage

	* configure:
        * Makefile.in,

	- updated building script and Makefile.

2021-02-26  Omar Polo

        * configure.ac:

	- use autoconf' ${AWK} instead of looking for gawk This also fixes
	an instance of `awk' that should be ${AWK}

2021-02-26  Omar Polo

        * compare_version.awk:

	- avoid strtonum (a GNU AWK extension) this drops the requirements
	on  strtonum, making  the  script (AFAIK)  POSIX compliant.   This
	(ab)uses  the fact  that `+'  will cast  its operator  to numbers.
	Tested with GNU AWK and "The One True AWK" on OpenBSD.

2021-02-21  cage

	* src/gemini-viewer.lisp,
	* src/package.lisp,
        * etc/shared.conf,
        * src/software-configuration.lisp:

	- [gemini] made fetching of  favicon opt-in by default tinmop will
	not fetch  favicon.txt anymore,  this feature  must be  enabled by
	user using a configuration directive.

2021-02-20 cage

        * src/api-client.lisp:

	- fixed crash when starting the program without a configuration
        file.

2021-02-19  cage

	* src/keybindings-window.lisp,
	* src/windows.lisp,
        * src/complete-window.lisp,
        * src/notify-window.lisp:

	- changed ':draw-border' to ':border' to track the new croatoan API.

2021-02-19  cage

	* src/api-pleroma.lisp,
        * src/api-client.lisp:

	- added version 2 of get chat list endpoint.

2021-02-18  cage

        * src/tui-utils.lisp:

	- fixed append.

2021-02-18  cage

	* src/package.lisp,
	* src/tui-utils.lisp,
        * src/misc-utils.lisp,
        * src/software-configuration.lisp:

	- improved a bit rendering speed of text in message window.

2021-02-13  cage

        * etc/default-theme.conf,
	* etc/shared.conf,
        * src/open-attach-window.lisp,
	* src/software-configuration.lisp:
	* src/package.lisp:

	- allowed users (via configuration directive) to use (or not) cache
        when opening a link with a custom program.

2021-02-11  cage

        * src/software-configuration.lisp:

	- prevented crash when a program to open a link is not found.

2021-02-10  cage

	* README.txt:
	* etc/default-theme.conf,
	* src/open-message-link-window.lisp,
	* src/package.lisp,
        * README.org,
        * src/os-utils.lisp,
        * src/software-configuration.lisp:

	- added configuration  directive to use  a specific program to  open
          a link (e.g. open all mp3 files with program mpv);
	- updated README, if no configuration file is given tinmop can be
        used as a gemini client.

2021-02-09  cage

	* src/gemini/client.lisp,
        * src/gemini-viewer.lisp:

	 - [gemini] removed useless 'unwind-protect' (and simplified code)
	from 'gemini-client:request';

	-  [gemini] in  gemini-client:request-dispatch signal  a condition
	('not-implemented-error') instead of doing nothing when a response
	in not handled (i.e. no function for that response type exists).

2021-02-07  cage

        * src/gemini-viewer.lisp:

	- [gemini] ensured  'gemini-viewer:request' respects the 'enqueue'
	argument when making recursive call to itself.

2021-02-07  cage

        * src/conditions.lisp, src/gemini-viewer.lisp,
        src/gemini/client.lisp: - [gemini] rewritten gemini-viewer:request using
          gemini-client:request-dispatch machinery; hopefully this should made
        the function easier to read (by human) and extend.

2021-02-06  cage

	* src/gemini/client.lisp,
	* src/hooks.lisp,
	* src/package.lisp:
        * src/db.lisp,
        * src/gemini-viewer.lisp,

	- replaced local function 'fetch-cached-certificate' with a global;
	- replaced local function with a global one;
	- added hook '*after-saving-message*.

2021-02-02  cage

	* src/gemini-viewer.lisp,
	* src/program-events.lisp,
	* src/tui-utils.lisp:
        * src/package.lisp,

	- fixed indentation of 'gemini-viewer:request';
	- [gemini] encoded the input string before making the request;
	- prevented crash when sending  message to command did not worked.
	Printing error to command line instead.


2021-01-31  cage

	* README.org,
	* README.txt,
	* aclocal.m4,
	* configure,
	* src/gemini/client.lisp,
	* src/grovel-idn.lisp,
	* src/package.lisp,
	* src/tests/idn-tests.lisp,
	* tinmop.asd,
        * Makefile.in,
        * configure.ac,
        * src/idn.lisp,
        * src/tests/package.lisp:

	- removed dependency from libidn2  punycode encoding comes from an
	internal implementation instead of using an C library.

2021-01-28  cage

	* src/gemini-viewer.lisp,
	* src/gemini/package.lisp,
	* src/package.lisp,
	* src/software-configuration.lisp,
	* src/ui-goodies.lisp,
        * etc/default-theme.conf,
        * src/gemini/client.lisp,
        * src/gemini/subscription.lisp,
        * src/program-events.lisp:

	- [gemini] added support  for favicon.txt, the implementation more
	or  less follow  gemini://mozz.us/files/rfc_gemini_favicon.gmi but
	it does render the first character of the file instead of checking
	for emoji characters;
	- [gemini] fixed canceling subscription to gemlogs.

2021-01-27  cage

	* src/complete.lisp,
	* src/db.lisp,
        * etc/default-theme.conf:

	- made input command history less messy
	- adding a sequence of n equals entries count as one (no duplicate
	entries on top of the history);
	- removed duplicate for gemini history URL.


2021-01-24  cage

	* etc/default-theme.conf,
	* src/message-rendering-utils.lisp,
	* src/software-configuration.lisp,
	* src/text-utils.lisp,
	* src/ui-goodies.lisp,
        * etc/default-theme.conf,
        * src/gemini/gemini-parser.lisp,
        * src/package.lisp,
        * src/tags-window.lisp:

        - added feature to allow users to configure symbols rendered for
        each toot visibility level in main window.
	- prevented crash truncating the scaled width of tags window.
	- prevented non rendering of 'new-message' character in tags window.
	- made 'text-utils:strim-blanks' returns nil and not "NIL" when
        input is null;
	- [gemini] trim white spaces from link name.
	- [gemini] shown selected row in gemlog subscription window.

2021-01-23  cage

        * src/db-utils.lisp,
	* src/db.lisp,
	* src/message-rendering-utils.lisp,
        * src/thread-window.lisp,
	* src/gemini-viewer.lisp,
	* src/gemini/client.lisp,
        * src/gemini/package.lisp,
	* src/gemini/subscription.lisp:

	- changed  db-nil-p this function  was transforming "no"  and even
	0.0 (floating point number) to  nil.  That behaviour was incorrect
	for numbers and  probably not desirable for the  string "No" (in
	fact poll  with "No"  option was not  rendered because  of this).
	Removed  conversion   for  non-  integer  numbers   and  prevented
	conversion from some kind of non empty string (like "nil" or "no")
	via a key argument.

	- [gemini]  made slurp-gemini-url works with  redirect; - [gemini]
	made some refactoring for building redirect IRIs.

2021-01-18  cage

        * src/db.lisp,
	* src/gemini-subscription-window.lisp:

	- [gemini] fixed purging and refreshing posts from subscribed gemlog

	-  changing  deleting  of  posts references  to  logical  deleting
	(i.e. setting  a boolean column  to true); - fixed  time threshold
	for purging (must be a negative integer).


2021-01-17  cage

	* po/it.po,
	* po/tinmop.pot,
	* src/keybindings.lisp,
	* src/tui-utils.lisp,
	* src/ui-goodies.lisp:
        * src/gemini-viewer.lisp,

	 - shown  a message when  user's searching for commands  returns no
	results.  - updated Italian translation  - improved a bit a single
	docstring

	-  [gemini]  fixed  test  for  checking  valid  cached  value  for
	certificate/key   pair.    The   function   to   find   a   cached
	certificate/key or create  a new pair returns a  multiple value.  I
	was    using   multiple-value-list    for   getting    the   pairs
	certificate/key  from said  functions.   Then i  was checking  the
	results of  'multiple-value-list' for null  values to get  the non
	correct pair, but that expression  never return nil (was returning
	'(nil) instead).  This was breaking the client authentication.

2021-01-16  cage

        * src/main.lisp,
	* src/package.lisp,
	* src/software-configuration.lisp:

	- added some more tests for checking missing values from
        configuration files.


2021-01-13  cage

	* configure,
	* configure.ac:
	* po/tinmop.pot:
	* src/package.lisp,
	* src/resources-utils.lisp,
        * po/it.po,
        * src/main.lisp,
        * src/software-configuration.lisp,

	- Reportedly the program works with 1.4.16.
	- suggest the user how to bypass the compiler check
	- create an empty config file if the user did not provided one,
        instead of printing an error and exit.
	- updated Italian translation.

2021-01-12  cage

        * src/api-client.lisp,
	* src/api-pleroma.lisp,
	* src/package.lisp:

	- prevented authorization of client if no server name has been
          provided by the user in the config file.

2021-01-11  cage

	* po/POTFILES.in,
	* po/it.po,
	* po/tinmop.pot,
	* src/db.lisp,
	* src/open-message-link-window.lisp,
	* src/package.lisp,
	* src/program-events.lisp,
	* src/scheduled-events.lisp,
	* src/ui-goodies.lisp,
        * src/open-message-link-window.lisp,
        * src/ui-goodies.lisp:

	- [gemini] ensure link opened is saved in history.
	- [gemini] fixed rendering of 'seen' flag for gemini post;
	- [gemini] mark post as read when opening the corresponding link.
	- [gemini] prevent gemlog window to lose focus when a gemlog is
          selected.
	- made gemlog window close when focus passes to thread window.
	- added scheduling of purging of old gemlog's posts;
	- updated Italian translation.

2021-01-10  cage

	* po/tinmop.pot,
	* src/db.lisp,
	* src/gemini-subscription-window.lisp,
	* src/line-oriented-window.lisp,
	* src/package.lisp,
	* src/program-events.lisp,
	* src/scheduled-events.lisp,
	* src/ui-goodies.lisp:
        * etc/init.lisp,
        * po/it.po,
        * src/gemini/subscription.lisp,
        * src/package.lisp,
        * src/program-events.lisp,
        * src/ui-goodies.lisp,

	- updated Italian translation;
	- [gemini]
	  - added command to refresh all gemlogs;
	  - added scheduled refresh of all gemlogs;
	  - fixed sorting of gemlog posts;
	  - prevent crash when subscribing to an already subscribed gemlog;
	  - added cancel of subscriptions.

2021-01-09  cage

	* aclocal.m4,
	* configure,
	* configure.ac,
	* etc/init.lisp,
	* po/tinmop.pot,
	* src/db.lisp,
	* src/gemini/gemini-parser.lisp,
	* src/gemini/package.lisp,
	* src/gemini/subscription.lisp,
	* src/package.lisp,
	* src/program-events.lisp,
	* src/specials.lisp,
	* src/ui-goodies.lisp,
	* tinmop.asd,
        * Makefile.in,
        * etc/default-theme.conf,
        * etc/init.lisp,
        * po/it.po,
        * src/gemini-subscription-window.lisp,
        * src/gemini/package.lisp,
        * src/grovel-idn.lisp,
        * src/keybindings.lisp,
        * src/program-events.lisp,
        * src/software-configuration.lisp,
        * src/ui-goodies.lisp:

	- [gemini]
	  - added a draft for gemlog subscriptions;
	  - added subscription command to gemlog.
	- used pkg-config in the libidn2 grovel file (thanks to yumh!);
	- updated Italian translation;
	- using pkg-config for checking libidn2 with configure script.

2021-01-08  cage

	* src/gemini/client.lisp,
	* src/gemini/package.lisp,
	* src/html-utils.lisp,
	* src/package.lisp,
	* tinmop.asd:
        * src/db.lisp,
        * src/gemini/subscription.lisp,
        * src/misc-utils.lisp,

	- [gemini]   Started with gemlog subscription, added database table and
          interface and subscribing API.

2021-01-06  cage

	* po/it.po,
	* po/tinmop.pot,
        * src/message-rendering-utils.lisp:

	- rendered visibility of a status when printed on the main window;
	- tested with latest croatoan: no problem so far;
	- updated PO file.

2021-01-05  cage

        * Makefile.am,
	* Makefile.in:

	- instructed Makefile to install the module
        'rewrite-message-urls.lisp'.

2021-01-04  cage

	* README.org,
	* README.txt,
	* doc/tinmop.man,
        * doc/man.org:

	- updated FAQ;
	- updated manpage.

2021-01-03  cage

	* README.org,
	* README.txt,
	* configure,
	* configure.ac,
	* src/gemini-viewer.lisp,
	* src/grovel-idn.lisp:
        * src/gemini-viewer-metadata.lisp,

	-[gemini] added urls to history  if document is loaded from cached
	content too;
	- added switch to disable compiler check at build time;
        - updated README and FAQ;
	- removed         IDN2_ALABEL_ROUNDTRIP_FAILED         and
	IDN2_NO_ALABEL_ROUNDTRIP from  grovel file for libidn2  This value
	has been added lately to the C library and some system
	(reportedly: Debian  Buster) ships an  old version of  the library
	without this enumeration's  value.  I am commenting  out the code,
	preventing grovel to process it for now.

2021-01-02  cage

        * modules/rewrite-message-urls.lisp,
        * src/open-message-link-window.lisp,
        * src/program-events.lisp:

	- fixed hooks for remapping links in gemini window.
	- [modules] rewrite-message-urls, quoting regexp before replacing.
	Also refactored some repeated code in a function.
	- [modules] rewrite-message-urls: changed name function to avoid
        conflicts with other modules.

2020-12-31  cage

	* modules/next-previous-open.lisp,
	* modules/rewrite-message-urls.lisp,
	* src/hooks.lisp,
	* src/hooks.lisp,
	* src/main.lisp,
	* src/misc-utils.lisp,
	* src/open-message-link-window.lisp:
	* src/package.lisp,
	* src/scheduled-events.lisp,
	* src/ui-goodies.lisp:
        * etc/init.lisp,
        * modules/rewrite-message-urls.lisp,
        * src/command-line.lisp,
        * src/main.lisp,
        * src/open-message-link-window.lisp,
        * src/program-events.lisp,

	- added a profiling macro;
	- added function to stop event dispatching;
	- Added a command line switch to load a module;
	- fixed 'run-hook-compose';
	- reverse link order in window;
        - added 'run-hook-compose';
	- added a module to rewrite URLs;
        - made scheduled updating of chat  messages happening only when a
	  chat window is shown; this  changes should make the program more
	  responsive when scrolling the text of the main window.

2020-12-30  cage

        * etc/init.lisp,
	* src/line-oriented-window.lisp,
        * src/open-message-link-window.lisp,
	* src/program-events.lisp,
	* po/it.po,
	* po/tinmop.pot,
        * etc/init.lisp,
	* src/os-utils.lisp,
	* src/package.lisp,
        * src/program-events.lisp,
	* src/ui-goodies.lisp:

	- allow repeat search on links window's items;
	- updated Italian translation;
	- added a command to send data to an external program.

2020-12-29  cage

	* NEWS.org:
	* etc/init.lisp,
	* modules/share-gemini-link.lisp,
	* src/complete.lisp,
	* src/db.lisp,
	* src/gemini-viewer.lisp,
	* src/main.lisp,
	* src/package.lisp,
	* src/program-events.lisp,
	* src/ui-goodies.lisp,
        * LICENSES.org,
        * etc/init.lisp,
        * src/gemini-viewer-metadata.lisp,
        * src/gemini/client.lisp,
        * src/message-window.lisp,
        * src/ui-goodies.lisp,

	- added reference to cl-str;
	- [gemini] fix split when separator is at the end of a path;
	- using a cache for username completion;
	- changed default completion function to "no completion";
	- added mention to the person that helped to spot a bug;
	- fixed NEWS.org;
	- added command to scroll main window using 'newline' key;
	- added command to repeat the last text search;
	- [gemini] added a command to refresh a page;
	- refactoring some code to add the above command.

2020-12-28  cage

	* Makefile.in,
	* modules/next-previous-open.lisp,
	* src/gemini/client.lisp,
	* src/modules.lisp:
	* src/package.lisp,
	* src/package.lisp,
	* src/text-utils.lisp,
	* src/text-utils.lisp,
	* src/ui-goodies.lisp,
        * Makefile.am,
        * scripts/welcome-bot.lisp,

	- fixed welcomebot and moved to a new directory "scripts";
	  Also export some symbols that this script uses, from others packages;
	- improved 'percent-decoded-p';
	- [gemini] allow percent encoding of query, path and fragment only
          if not already encoded;
	- added missing call to format;
	- reorganized modules and scripts directories;
	- removed spurious NIL when writing a message.

2020-12-27  cage

	* Makefile.am,
	* Makefile.in,
	* doc/tinmop.man,
	* modules/share-gemini-link.lisp,
	* modules/welcome-bot.lisp,
	* po/it.po,
	* po/tinmop.pot,
	* src/package.lisp,
	* src/ui-goodies.lisp:
        * doc/man.org,
        * etc/init.lisp,
        * po/POTFILES.in,

	- used a parameter for the welcome message;
	- updated manpage;
	- updated italian translation;
	- moved welcomebot script in the right directory when installed;
	- added a module to share a gemini page on pleroma.

2020-12-26  cage

        * doc/welcome-bot.lisp
        * src/db.lisp:

	- added a script for a welcome bot;
	- fixed false positive for new message on subscribed tags.

2020-12-25  cage

	* src/gemini-viewer.lisp,
	* src/gemini/client.lisp,
	* src/gemini/client.lisp:
	* src/grovel-idn.lisp,
	* src/iri-parser.lisp,
	* src/tests/uri-tests.lisp,
        * LICENSES.org,
        * src/gemini/gemini-parser.lisp,
        * src/tests/iri-tests.lisp,
        * src/uri-parser.lisp:

	- [gemini] percent encoding path query and fragment before performing
        the request.
	- removed warning for missing constants in grovel file.
	- fixed IRI and URI parser;
	- taken into account fragment of IRI;
	- added more IRI and URI test;
	- passes all the client tests.

2020-12-21  cage

        * src/program-events.lisp:

	- fixed swapped functions (unfollow -> follow).

2020-12-21  cage

        * src/open-message-link-window.lisp:

	- [gemini] fixed bug that prevented visit the same link more than
        once.

2020-12-21  cage

        * po/it.po, po/tinmop.pot:

	- updated italian translation.

2020-12-21  cage

        * src/api-client.lisp, src/package.lisp, src/program-events.lisp:

	- improved  following/unfollowing users previously only  user that
	had an  entry in the program  local database could be  followed or
	unfollowed.  With this changes the  software perform a name lookup
	in the client and follow the  first user found that match searched
	username.

2020-12-20  cage

        * quick_quicklisp.sh.in:

	- removed installation of 'quri'.

2020-12-20  cage

        * README.org, README.txt:

	- removed mentioning of manual installation of tooter from README.

2020-12-17  cage

        * src/complete.lisp, src/gemini-viewer.lisp,
        src/gemini/client.lisp, src/gemini/gemini-parser.lisp,
        src/gemini/package.lisp, src/package.lisp, src/program-events.lisp,
        src/ui-goodies.lisp:

	- changed 'uri' to 'iri' where does makes sense to me.

2020-12-17  cage

        * src/gemini-viewer.lisp, src/program-events.lisp,
        src/ui-goodies.lisp:

	- [gemini] fixed bugs that prevented the same IRI to be opened
        multiple-time.

2020-12-14  cage

        * NEWS.org, configure, configure.ac, tinmop.asd:

	- increased version;
	- fixed typo.

2020-12-14  cage

        * NEWS.org:

	- updated documentation.

2020-12-14  cage

        * ChangeLog:

	- tracking changes.

2020-12-14  cage

        * src/gemini-viewer.lisp, src/gemini/client.lisp,
        src/gemini/gemini-parser.lisp, src/iri-parser.lisp:

	- [gemini] switched from URI to IRI;
	- fixed wrong slot symbol.

2020-12-13  cage

	README.org
	README.txt
	configure
	configure.ac
	src/gemini-viewer.lisp
	src/gemini/client.lisp
	src/gemini/gemini-parser.lisp
	src/iri-parser.lisp
	src/iri-parser.lisp
	src/iri-parser.lisp
	src/package.lisp
	src/package.lisp
	src/tests/iri-tests.lisp
	src/tests/package.lisp
	src/uri-parser.lisp
	tinmop.asd

	- fixed ssl checking in configure script (was given error when the
        library was actually found).
	- added mention of gcc and xgettext in README.
	- specialize 'normalize-path' on iri;
	- changed package name: uri-parser -> uri.
	- removed 'uri-' prefix from 'uri' slots names.
	- added IRI parser.

2020-12-12  cage

        README.org,
	README.txt,
	configure,
	configure.ac,
        src/grovel-idn.lisp,
	src/idn.lisp,
	src/package.lisp,
	tinmop.asd:

	- added minimal wrapping of libidn2;
	- added library checks (libidn2  and libssl) to configure scripts;
	- removed commented reference to quri.

2020-12-09  cage

        * src/tests/package.lisp, src/tests/x509-tests.lisp, src/x509.lisp,
        tinmop.asd:

	- fixed segmentation fault whit FFI code (x509 certificate dump).

2020-12-08  cage

        * src/ui-goodies.lisp:

	- quit the program if user choose to keeps statuses marked for
        deletion.

2020-12-08  cage

        * etc/init.lisp, src/follow-requests.lisp, src/ui-goodies.lisp:

	- exposed to the UI 'refresh-chats';
	- fixed type in 'follow-request-window' slot;
	- fixed docstring.

2020-12-07  cage

        * src/api-client.lisp, src/follow-requests.lisp:

	- fixed slot types declaration to allow compilation with newer SBCL.

2020-11-01  cage

        * src/gemini-viewer.lisp, src/ui-goodies.lisp:

	- [gemini] prevent overwriting of TOFU warning by other messages.

2020-10-25  cage

        * LICENSES.org, src/gemini-viewer.lisp,
        src/gemini/gemini-parser.lisp, src/package.lisp,
        src/tests/gemini-parser-tests.lisp, src/tests/package.lisp,
        src/tests/program-events-tests.lisp, src/tests/uri-tests.lisp,
        src/uri-parser.lisp, tinmop.asd:

	- replaced quri with an internal parser;
	- [gemini] the client passes the torture test again;
	- fixed event test.

2020-10-24  cage

        * src/gemini-viewer.lisp:

	- removed debug code.

2020-10-24  cage

        * src/gemini-viewer.lisp, src/program-events.lisp:

	- [gemini] fixed a regression, display again source of a gemini
        file.

2020-10-24  cage

        * src/gemini-viewer.lisp:

	- [gemini] use named parameter in recursive requests.

2020-10-23  cage

        * etc/default-theme.conf, etc/init.lisp, src/db.lisp,
        src/gemini-client-certificates-window.lisp, src/gemini-viewer.lisp,
        src/gemini/client.lisp, src/keybindings.lisp, src/os-utils.lisp,
        src/package.lisp, src/program-events.lisp,
        src/software-configuration.lisp, src/specials.lisp,
        src/tui-utils.lisp, src/ui-goodies.lisp, tinmop.asd:

	- [gemini] implemented a draft of a client authentication (via TLS
        certificates).

2020-10-11  cage

        * Makefile.am, Makefile.in, configure, configure.ac,
        src/config.lisp.in, src/config.lisp.in.in, src/constants.lisp,
        src/db.lisp, src/gemini-viewer.lisp, src/gemini/client.lisp,
        src/gemini/package.lisp, src/os-utils.lisp, src/package.lisp:

	- [gemini] starting using certificates;
	- removed hardcoded 'xdg-open' binary name.

2020-10-06  cage

        * src/gemini-viewer.lisp, src/package.lisp,
        src/priority-queue.lisp, src/program-events.lisp:

	- [gemini] remove a bottleneck when download of a gemini page is
        completed;

	Instead of process multiple events, each one with a single line to
	render, compact all the lines in a single event and, then, process
	all the lines at once.

2020-10-03  cage

        * etc/init.lisp, src/complete.lisp, src/line-oriented-window.lisp,
        src/open-message-link-window.lisp, src/package.lisp,
        src/program-events.lisp, src/ui-goodies.lisp:

	- added the possibility to search inside a widows that contains a
        collection of links.

2020-10-02  cage

        * NEWS.org, src/constants.lisp, src/program-events.lisp:

	- actually use the compiled regex-scanner when searching text in the
        message window;
	- increased refresh frequency;
	- removed author name from NEWS.org.

2020-10-01  cage

        * src/program-events.lisp:

	- [gemini] removed waiting for rendering of a page before going back
        in browsing history.

2020-10-01  cage

        * src/open-message-link-window.lisp, src/package.lisp,
        src/program-events.lisp, src/ui-goodies.lisp:

	- [gemini] fixed the stopping of rendering the old page when a new
	link is opened;

	- [gemini]  added 'gemini-abort-all-downloading-event',  used when
	quitting.

2020-09-30  cage

        * src/gemini-viewer.lisp, src/open-message-link-window.lisp,
        src/package.lisp, src/priority-queue.lisp, src/program-events.lisp,
        src/ui-goodies.lisp:

	- [gemini] remove all pending rendering events when quitting.

2020-09-30  cage

        * src/package.lisp, src/priority-queue.lisp,
        src/program-events.lisp:

	- [gemini]  remove from the event  queue all the lines  got from a
	gemtext download when aborting a download.

2020-09-27  cage

        * src/api-client.lisp, src/api-pleroma.lisp, src/command-line.lisp,
        src/package.lisp:

	- removed method to delete notifications using old API new version
	of pleroma implements the same API as mastodon 3.x;
	- fixed command line switch to get notification for mentions.

2020-09-26  cage

        * src/api-client.lisp:

	- prevented  crash when updating  mentions The 'status' slot  in a
	'mention' object can be nil, in this case expand the tree does not
	makes sense and should be avoided.

2020-09-26  cage

        * src/program-events.lisp:

	-  add mentions  only is  not empty  or nil,  previous check  just
	tested for null.

2020-09-24  cage

        * src/program-events.lisp:

	- added mention only if non-nil (when sending a status).

2020-09-19  cage

        * NEWS.org, configure, configure.ac, tinmop.asd:

	- increased version.

2020-09-19  cage

        * ChangeLog:

	- tracking changes.

2020-09-19  cage

        * src/stack.lisp:

	- fixed 'stack-raise-to-top'
	Swapping the  position of the window  to be raised with  the head
        of the  was a  bad  idea.   Sometimes a  windows  could  go behind
        the omnipresent  windows (messages,  thread  etc.) and  never shown
        (as covered by the others).

2020-09-18  cage

        * src/program-events.lisp:

	- fixed indentation.

2020-09-18  cage

        * src/os-utils.lisp, src/ui-goodies.lisp:

	- lowered permanence of notification when updating timelines;
	- fixed managing of editor arguments.

2020-09-12  cage

	* po/it.po, po/tinmop.pot:

	- updated italian translation.

2020-09-12  cage

	* src/filesystem-utils.lisp, src/package.lisp, src/ui-goodies.lisp:

	- added exit handler to clean temporary files.

2020-09-12  cage

	* etc/shared.conf:

	- improved regular expressions for message coloring.

2020-09-12  cage

	* etc/shared.conf, src/gemini-viewer.lisp,
	src/gemini/gemini-parser.lisp, src/package.lisp,
	src/ui-goodies.lisp:

	- [gemini] ensure just  a single gemini file is in  rendering state
	at the same time;
	- [gemini] add  a newline to  data before  parsing a gemini  file
	only when needed (there is no one at the end);
	- commented and improved some regular expressions for coloring.

2020-09-11  cage

	* src/gemini-viewer.lisp:

	- [gemini] clear the streams window before redrawing when refreshing
	the window's contents.

2020-09-11  cage

	* etc/init.lisp, src/open-message-link-window.lisp,
	src/package.lisp, src/ui-goodies.lisp:

	- [gemini] feature  added:  start  downloading  a  gemini  file  in
	background (i.e. without rendering on the window);
	- removed explicit package name 'specials' in ui-goodies.lisp.

2020-09-10  cage

	* po/it.po, po/tinmop.pot:

	- updated italian translation.

2020-09-10  cage

	* etc/default-theme.conf, src/chats-list-window.lisp:

	- fixed chat list windows items.

2020-09-10  cage

	* etc/init.lisp, src/api-pleroma.lisp,
	src/line-oriented-window.lisp, src/message-window.lisp,
	src/package.lisp, src/program-events.lisp, src/ui-goodies.lisp:

	- added feature create new chat;
	- fixed crash when selecting a chat with no messages.

2020-09-09  cage

	* etc/default-theme.conf, etc/init.lisp,
	src/chats-list-window.lisp, src/conversations-window.lisp,
	src/db.lisp, src/package.lisp, src/program-events.lisp,
	src/scheduled-events.lisp, src/software-configuration.lisp,
	src/ui-goodies.lisp, src/windows.lisp:

	- changed position and (configurable) colors for chat window;
	- added feature: change chat labels.

2020-09-07  cage

	* src/chats-list-window.lisp:

	- prevent printing of chat messages from ignored users.

2020-09-06  cage

	* po/it.po, po/tinmop.pot:

	- updated italian translation.

2020-09-06  cage

	* etc/init.lisp, src/db.lisp, src/open-message-link-window.lisp,
	src/package.lisp, src/ui-goodies.lisp:

	- added chat attachments browsing window.

2020-09-06  cage

	* etc/init.lisp, src/chats-list-window.lisp, src/keybindings.lisp,
	src/main.lisp, src/message-window.lisp, src/package.lisp,
	src/program-events.lisp, src/scheduled-events.lisp,
	src/ui-goodies.lisp:

	- basics chats works.

2020-09-06  cage

	* src/program-events.lisp, src/ui-goodies.lisp:

	- given focus to message window when a chat is opened;

	- scroll to end of chat when new message arrived.

2020-09-06  cage

	* po/it.po, po/tinmop.pot, src/api-pleroma.lisp,
	src/chats-list-window.lisp, src/complete.lisp, src/db.lisp,
	src/main.lisp, src/message-window.lisp, src/package.lisp,
	src/program-events.lisp, src/scheduled-events.lisp,
	src/ui-goodies.lisp, tinmop.asd:

	- posting on chats works;
	- fixed ordering  in db:all-chat-messages (message-id was  not a
	valid column name);
	- added scheduled events;
	- minor changes in labels.

2020-09-06  cage

	* src/api-client.lisp, src/api-pleroma-entities.lisp,
	src/api-pleroma.lisp, src/box.lisp, src/bs-tree.lisp,
	src/chats-list-window.lisp, src/command-line.lisp,
	src/command-window.lisp, src/complete-window.lisp,
	src/conditions.lisp, src/config.lisp.in, src/constants.lisp,
	src/conversations-window.lisp, src/crypto-utils.lisp,
	src/date-formatter.lisp, src/db-utils.lisp, src/db.lisp,
	src/emoji-shortcodes.lisp, src/filesystem-utils.lisp,
	src/follow-requests.lisp, src/gemini-viewer-metadata.lisp,
	src/gemini-viewer.lisp, src/gemini/client.lisp,
	src/gemini/gemini-constants.lisp, src/gemini/gemini-parser.lisp,
	src/gemini/package.lisp, src/hooks.lisp, src/html-utils.lisp,
	src/interfaces.lisp, src/keybindings-window.lisp,
	src/keybindings.lisp, src/line-oriented-window.lisp,
	src/main-window.lisp, src/main.lisp,
	src/message-rendering-utils.lisp, src/message-window.lisp,
	src/misc-utils.lisp, src/modeline-window.lisp, src/modules.lisp,
	src/mtree-utils.lisp, src/notify-window.lisp, src/num-utils.lisp,
	src/open-attach-window.lisp, src/open-message-link-window.lisp,
	src/os-utils.lisp, src/package.lisp, src/point-tracker.lisp,
	src/priority-queue.lisp, src/program-events.lisp, src/queue.lisp,
	src/rb-tree.lisp, src/resources-utils.lisp,
	src/sending-message.lisp, src/software-configuration.lisp,
	src/specials.lisp, src/stack.lisp, src/suggestions-window.lisp,
	src/tags-window.lisp, src/tests/all-tests.lisp,
	src/tests/box-tests.lisp, src/tests/gemini-parser-tests.lisp,
	src/tests/misc-tests.lisp, src/tests/mtree-tests.lisp,
	src/tests/numeric-tests.lisp, src/tests/package.lisp,
	src/tests/program-events-tests.lisp,
	src/tests/text-utils-tests.lisp,
	src/tests/thread-window-tests.lisp, src/text-utils.lisp,
	src/thread-window.lisp, src/tui-utils.lisp, src/ui-goodies.lisp,
	src/windows.lisp, src/x509-ffi.lisp, src/x509.lisp:

	- changed GPL comment headers.

2020-09-06  cage

	* src/message-window.lisp:

	- fixed vertical position of line mark in message window.

2020-09-06  cage

	* src/line-oriented-window.lisp, src/message-window.lisp:

	- fixed  'line-oriented-window:row-move' must  return always  a
	number (0), not nil, when no movement occurs;
	- fixed vertical scrolling boundaries of messages window.

2020-09-05  cage

	* po/it.po, src/api-pleroma.lisp, src/program-events.lisp,
	src/ui-goodies.lisp:

	- minor cleaning.

2020-09-05  cage

	* po/POTFILES.in, po/it.po, po/tinmop.pot:

	- updated italian translation.

2020-09-05  cage

	* etc/default-theme.conf, etc/init.lisp, etc/shared.conf,
	src/api-pleroma-entities.lisp, src/api-pleroma.lisp,
	src/chats-list-window.lisp, src/db.lisp, src/gemini-viewer.lisp,
	src/keybindings.lisp, src/main.lisp, src/package.lisp,
	src/program-events.lisp, src/software-configuration.lisp,
	src/specials.lisp, src/ui-goodies.lisp, tinmop.asd:

	- chats can be fetched, via UI, and printed on window.

2020-09-02  cage

	* src/api-pleroma.lisp, src/package.lisp:

	- [pleroma-API] added 'fetch-chat-message.

2020-09-02  cage

	* src/api-pleroma.lisp, src/db.lisp:

	- added tables for chats;
	- fixed some slot names for chat entities.

2020-09-02  cage

	* ChangeLog:

	- tracking changes.

2020-09-02  cage

        * src/api-pleroma.lisp, src/package.lisp:

	- [pleroma-API] added a few function to use chats.

2020-08-30  cage

        * configure, configure.ac, tinmop.asd:

	- increased version.

2020-08-30  cage

        * ChangeLog, NEWS.org:

	- tracking changes.

2020-08-30  cage

        * po/it.po, po/tinmop.pot:

	- updated italian translation.

2020-08-30  cage

        * etc/default-theme.conf, etc/init.lisp, etc/shared.conf,
        src/gemini-viewer-metadata.lisp, src/gemini-viewer.lisp,
        src/keybindings.lisp, src/package.lisp, src/program-events.lisp,
        src/software-configuration.lisp, src/specials.lisp,
        src/tui-utils.lisp, src/ui-goodies.lisp:

	- [gemini] added a window to manage all the gemini streams opened.

2020-08-29  cage

        * src/gemini-viewer.lisp:

	- [gemini] starting download thread in ':rendering' status.

2020-08-29  cage

        * configure, src/gemini-viewer-metadata.lisp,
        src/gemini-viewer.lisp, src/open-message-link-window.lisp,
        src/program-events.lisp, tinmop.asd:

	- [gemini] added slot 'status-stream'.
	  This will allow to enqueue multiple documents download.

2020-08-28

	* src/line-oriented-window.lisp
	* src/open-message-link-window.lisp
	* src/gemini-viewer.lisp
	* src/misc-utils.lisp

    - added vertical top padding for 'line-oriented-window'.

      This means  also that the gemini  links window will render  the link
      name on top of the link uri.

    - [gemini] wrapped non gemini download thread.

      Also added a few of useful slots like temporary file path and number of
      bytes downloaded so far.

2020-08-27

	* src/gemini-viewer.lisp
	* src/program-events.lisp

	- added 'gemini-stream' class.

	Starting  wrapping  streaming  of   gemini's  data  using  hi  level
	structures  (this way  we can  associate a  for each  stream), this
	could be useful to let the user start or stop the stream or open the
	data downloaded so far.

2020-08-19

	* .gitignore
	* Makefile.in
	* etc/init.lisp
	* src/db.lisp
	* src/gemini-viewer.lisp
	* src/gemini/client.lisp
	* src/gemini/gemini-parser.lisp
	* src/gemini/package.lisp
	* src/html-utils.lisp
	* src/line-oriented-window.lisp
	* src/message-window.lisp
	* src/misc-utils.lisp
	* src/package.lisp
	* src/program-events.lisp
	* src/ui-goodies.lisp
	* tinmop.asd

	- Added Makefile.in.
	- [gemini] allowed secret input;
	- tracking changes in croatoan
	  some  function   in  'tui-utils'  are  just   wrappers  for  the
	  equivalents in the library;
	- added more docstrings;
	- use new  i18n feature form unix-opt to  localize program's usage
	  messages.

2020-07-26

    - [gemini]  the parser  has been  modified to  renders (in  a separate
      thread) the contents of a gemini  file parsed so far without waiting
      for the whole document to be read from the socket.

      This  feature should  prevent blocking  the client  when the  server
      never close the socket (i.e. for streamed contents).

    - [gemini] added the possibility to abort current page download.

2020-07-17
	* src/program-events.lisp

	- prevented a crash if an invalid regular expression is used
	when searching in a message window.

2020-07-15
	* etc/init.lisp
	* po/it.po
	* po/tinmop.pot
	* src/gemini-viewer.lisp
	* src/gemini-viewer.lisp
	* src/gemini/client.lisp
	* src/gemini/gemini-parser.lisp
	* src/gemini/package.lisp
	* src/package.lisp
	* src/ui-goodies.lisp

	- [gemini] parse link even if link name is empty
	sometimes you can met a link like:

	=>URI<space><linebreak>

	even if this  is, in my opinion,  a malformed link (there  should be a
	text -the link name- after the space) parse anyway as if the link name
	exists and is empty;

	- [gemini] added the option to view gemini page's source.

	- [gemini] fixed bug that prevented rendering of levels 3 headers;

	- [gemini] fixed information string;

	- updated italian translation.

2020-07-13
	* etc/shared.conf
	* src/message-rendering-utils.lisp
	* src/message-window.lisp

	- fixed regex for percent numbering;
	- formatted as floating points votes percentage in polls.

2020-07-08
	* etc/default-theme.conf
	* etc/shared.conf
	* src/command-line.lisp
	* src/gemini/client.lisp
	* src/gemini/gemini-parser.lisp
	* src/gemini/package.lisp
	* src/main.lisp
	* src/package.lisp
	* src/software-configuration.lisp
	* tinmop.asd

	- [gemini] made some elements of page rendering customizable

	using 'gemini-page-theme'  class some elements of  the rendered page
	(header prefix, bullet and so on) can be customized.

	users can use configuration files directive to change the appearance of said elements
	(both character and color or font variants);

	- removed unused argument from command line switch: '-m'.

2020-07-06
	* src/notify-window.lisp
	* src/program-events.lisp
	* src/ui-goodies.lisp

	- correctly enqueued multiple "update timeline" commands.

2020-07-04
	* po/it.po
	* po/tinmop.pot
	* quick_quicklisp.sh.in
	* src/gemini-viewer.lisp
	* src/gemini/client.lisp
	* src/gemini/gemini-parser.lisp
	* src/misc-utils.lisp
	* src/package.lisp
	* src/tui-utils.lisp
	* src/ui-goodies.lisp
	* tinmop.asd

	- [gemini]
	  - using quri instead of puri library because the first has a better handling
            of UTF-8;
	- using binary stream instead of ASCII.

2020-07-02
	* src/gemini/gemini-parser.lisp
	* src/message-rendering-utils.lisp
	* src/ui-goodies.lisp

	- prevented crash when 'original-path' is nil;
	- fix expanding of message threads: expands reblogged toots if exists;
	- added some vertical space before rendering poll.

2020-06-29
	* etc/next-previous-open.lisp
	* po/it.po
	* po/tinmop.pot
	* src/gemini-viewer.lisp

	- changed key for 'delete-and-move-next' command.
	- updated italian translation.
	- [gemini viewer] fixed history navigation.

2020-06-28
	* etc/init.lisp
	* src/gemini-viewer.lisp
	* src/main.lisp
	* src/message-window.lisp
	* src/package.lisp
	* src/program-events.lisp
	* src/ui-goodies.lisp

	- [gemini browser] added a 'go-back' command.
	- made the program  asks for redirects following only  when the event
	queue is empty;
	- added 'gemini-request-event';
	- gave  focus back to message  window when closing link  window in
	gemini mode.
	- fixed bug that prevented to properly reset links list when in gemini mode;
	- added command 'open-gemini-address';
	- minor refactoring.

2020-06-27
	* etc/init.lisp
	* src/db.lisp
	* src/hooks.lisp
	* src/program-events.lisp

	- added more parameters for each function that could be added to
	`*skip-message-hook*';
	- changed unique constrains for TOFU table.

2020-06-23
	* LICENSES.org
	* doc/man.org
	* doc/tinmop.man
	* etc/init.lisp
	* po/it.po
	* po/tinmop.pot
	* src/command-line.lisp
	* src/constants.lisp
	* src/db.lisp
	* src/filesystem-utils.lisp
	* src/gemini-viewer.lisp
	* src/gemini/client.lisp
	* src/gemini/package.lisp
	* src/main.lisp
	* src/package.lisp
	* src/ui-goodies.lisp

	- changed function name: 'temporary-filename' to 'temporary-file';
	- allowed the user to bypass TOFU exception;
	- fixed TOFU check;
	- used 'notify' instead of error message;
	- added a command line option to retrieve a gemini URL.

2020-06-22
	* LICENSES.org
	* README.org
	* README.txt
	* doc/man.org
	* doc/tinmop.man
	* etc/init.lisp
	* etc/shared.conf
	* po/POTFILES.in
	* po/it.po
	* po/tinmop.pot
	* quick_quicklisp.sh.in
	* src/db.lisp
	* src/filesystem-utils.lisp
	* src/gemini-viewer.lisp
	* src/gemini/client.lisp
	* src/gemini/gemini-constants.lisp
	* src/gemini/gemini-parser.lisp
	* src/gemini/package.lisp
	* src/keybindings.lisp
	* src/line-oriented-window.lisp
	* src/message-window.lisp
	* src/open-message-link-window.lisp
	* src/package.lisp
	* src/stack.lisp
	* src/tests/gemini-parser-tests.lisp
	* src/tests/package.lisp
	* src/text-utils.lisp
	* src/ui-goodies.lisp
	* src/x509-ffi.lisp
	* src/x509.lisp
	* tinmop.asd

	- gemini client works, but missing client authorization using certificates
	  (codes 6x);
	- TOFU works someway but appears to me it is an ugly hack.

2020-06-14
	* LICENSES.org
	* etc/init.lisp
	* src/complete.lisp
	* src/package.lisp
	* src/text-utils.lisp

	-  prevented crash  that happened  when using  an invalid  regular
	expression to complete  input. There was no reason  to use regular
	expression there but valid reasons to not use them. ;)

2020-06-13 cage
	* src/db.lisp
	* src/notify-window.lisp
	* src/package.lisp
	* src/program-events.lisp

	- prevent adding duplicate entries in +table-pagination-status+

	This could  happened when concurrent fetching  messages command was
	launched from the user.

	-  preventing writing  a notification  window that  completed his
	life cycle.  'notify-window:draw-pending' checks if 'life' slot is
	a positive number  before drawing, without the check  drawing on a
	ncurses window pointer pointing to invalid memory was possible.

2020-06-12 cage
	* etc/default-theme.conf
	* src/api-client.lisp
	* src/command-line.lisp
	* src/mtree-utils.lisp
	* src/package.lisp
	* src/software-configuration.lisp
	* src/thread-window.lisp
	* src/tui-utils.lisp
	* src/ui-goodies.lisp

        - do not climb the thread  (probably could be changed by a command
	line switch in the future) when fetching messages;
	- configurable color for root of rendered trees;
	- made expanding thread command non blocking.

2020-06-11 cage
	* etc/shared.conf
	* src/api-client.lisp
	* src/db.lisp
	* src/package.lisp
	* src/program-events.lisp
	* src/software-configuration.lisp
	* src/ui-goodies.lisp

	- fixed skipping of ignored users

	When a set  of downloaded statuses contains one or  more status from
	an ignored user restarts the download process again starting from the
	last (or first, if going backward) downloaded status (ordered by ID).

	This way we could skip over a bunch of ignored status.

	The number of download restarting iteration is limited to 3

	- added a  configuration directive  to ignore  usernames that  match a
	regular exception.

2020-06-07 cage
	* configure
	* src/ui-goodies.lisp
        * src/api-client.lisp
        * src/api-pleroma.lisp
        * src/db.lisp
        * src/message-rendering-utils.lisp
        * src/package.lisp
        * src/text-utils.lisp
        * tinmop.asd

	- remove duplicated urls in messages that are a reblog;
	- fixed swapped docstrings;
	- updated configure.
	- moved pleroma specific API to i package :api-pleroma;
	- renamed function: 'text-utils:left-padding-suffix' to 'text-utils:left-padding-prefix';
	- rendered the choice index for poll's choices;
	- shown if a poll allows multiple choices;
	- printed an error  to the user when trying to  vote for a message
	  that does not contains a poll.

2020-05-31 cage
	* etc/init.lisp
	* src/api-client.lisp
	* src/program-events.lisp
	* src/ui-goodies.lisp
        * etc/default-theme.conf
        * etc/shared.conf
        * po/it.po
        * po/tinmop.pot
        * src/db.lisp
        * src/message-rendering-utils.lisp
        * src/package.lisp
        * src/software-configuration.lisp
        * src/thread-window.lisp

        - [breaking changes]
	  Added polls.  To  allow this feature two new tables
	  "poll" and "poll-options" has been added to database schema.

2020-05-30 cage
	* etc/init.lisp
	* src/api-client.lisp
	* src/command-line.lisp
	* src/complete.lisp
	* src/db.lisp
	* src/main.lisp
	* src/package.lisp
	* src/program-events.lisp
	* src/thread-window.lisp
	* src/tui-utils.lisp
	* src/ui-goodies.lisp
	* tinmop.asd

	- [breaking changes] changed table for attachments;
	- fixed  bug  that prevented  statuses  missing  attachments when  the
	  status was reblogged.
	- added optional notification of statuses mentioning the user;
	- protected reblogged timeline from accidental deletion;
	- added the possibility to force expanding of a message tree;
	- rearranged compilation  order to prevent warning  about command line
	  switch;
	- rearranged order of packages.

2020-05-20 cage
	* quick_quicklisp.sh.in

	- removed useless switch.

2020-05-19 cage

	* src/db.lisp (renumber-timeline-message-index)
	* src/command-line.lisp (gen-opts)
	* etc/shared.conf
	- fixed renumbering of 'message-index' of status

	  The old  procedure did  not took into  account the  'folder' and
	  'timeline' columns making possible to overwrite index of a copy of
	  the same  message placed in  different folder.  This bug  made the
          program crash;

	- fixed command line long option;

	- fixed wrong name of a variable in a configuration file.

2020-05-18 cage

	* doc/man.org
	* doc/tinmop.man
	* po/it.po
	* po/tinmop.pot
	* src/command-line.lisp
	* src/main.lisp
	* src/package.lisp

        - added the reset of timeline pagination from command line.

2020-05-17  cage

        * src/open-message-link-window.lisp
	* src/text-utils.lisp
	- added a class to represent a window with the links that a message contains

	The    links     are    collected    by    the     new    function
	text-utils:collect-links applied on the rendered text of a status.

2020-05-15 cage
	- initial release
